home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SGI Freeware 2002 November
/
SGI Freeware 2002 November - Disc 2.iso
/
dist
/
fw_gnome-pilot.idb
/
usr
/
freeware
/
share
/
idl
/
gnome-pilot.idl.z
/
gnome-pilot.idl
Wrap
Text File
|
2001-10-09
|
7KB
|
254 lines
/* -*- Mode: IDL; indent-tabs-mode: t; tab-width: 8 -*- *//*
* Copyright (C) 1998-2000 Free Software Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*
* Authors: Eskil Heyn Olsen <eskil@eazel.com>
*/
/*
IDL for gpilotd communcation
$Id: gnome-pilot.idl,v 1.25 2000/08/07 01:02:18 eskil Exp $
$Author: eskil $
*/
module GNOME {
module Pilot {
/* typedefinitions and enums */
typedef sequence<string> StringSequence;
typedef sequence<long> LongSequence;
/* exception thrown when requested pilot doesn't exist */
exception UnknownPilot {
string pilotId;
};
/* exception thrown when user doesn't exist */
exception UnknownUser {
string user;
};
/* exception thrown when conduit doesn't exist */
exception UnknownConduit {
string conduit;
};
/* exception thrown when requested file or directory doesn't exist */
exception MissingFile {
};
/* exception thrown when no access to file/directory/pilot is give */
exception NoAccess {
};
/* exception thrown when no monitors are on, but client called notify */
exception NoMonitors {
};
/* exception throw when the given request handle doesn't exist */
exception NoSuchHandle {
};
/* exception thrown when the pilot is already syncing */
exception PilotBusy {
};
/* execption thrown when the cradle is already in use */
exception CradleBusy {
};
enum ConfigErrorType {
DEVICE_MISSING,
DEVICE_CANNOT_BE_OPENED
};
/* exception thrown when the daemon's config prevents it for doing anything */
exception ConfigError {
ConfigErrorType errorType;
string message;
};
enum Survival {
IMMEDIATE,
PERSISTENT
};
enum EventType {
NOTIFY_CONNECT,
NOTIFY_DISCONNECT,
NOTIFY_BACKUP,
NOTIFY_CONDUIT,
NOTIFY_REQUEST_COMPLETION,
NOTIFY_REQUEST_TIMEOUT,
NOTIFY_USERINFO_REQUESTED,
NOTIFY_SYSINFO_REQUESTED,
NOTIFY_USERINFO_SENT
};
enum ConduitOperation {
SYNCHRONIZE,
CONDUIT_DEFAULT,
COPY_FROM_PILOT,
COPY_TO_PILOT,
MERGE_FROM_PILOT,
MERGE_TO_PILOT
};
struct PilotUser {
unsigned long userID;
string username;
};
struct SysInfo {
/* memory is KB's */
long romSize;
long ramSize;
long ramFree;
string name;
string manufacturer;
};
interface Client {
attribute string client_id;
oneway void connect(in string pilot_id,
in PilotUser userinfo);
oneway void disconnect(in string pilot_id);
oneway void request_completed(in string pilot_id,
in unsigned long request_id);
/*oneway void backup(in string pilot_id,in string filename); */
/*oneway void request_timeout(in string pilot_id,
in unsigned long request_id);*/
oneway void userinfo_requested(in string device,
in PilotUser user);
oneway void sysinfo_requested(in string pilot_id,
in SysInfo sysinfo);
/* progress bar additions */
oneway void conduit_start(in string pilot_id,
in string conduit,
in string database);
oneway void conduit_progress(in string pilot_id,
in string conduit,
in unsigned long current,
in unsigned long total);
oneway void conduit_end(in string pilot_id,
in string conduit);
/* call that lets a conduit give the user some
sort of info or error message */
oneway void conduit_message(in string pilot_id,
in string conduit,
in string message);
oneway void conduit_error(in string pilot_id,
in string conduit,
in string message);
};
interface Daemon {
/* adm calls */
void pause(in boolean on_off)
raises (NoAccess);
/* request operations */
unsigned long request_install(in Client cb,
in string pilot_id,
in string file_name,
in string description,
in Survival survival,
in unsigned long timeout)
raises(UnknownPilot,MissingFile,NoAccess);
unsigned long request_restore(in Client cb,
in string pilot_id,
in string directory,
in Survival survival,
in unsigned long timeout)
raises(UnknownPilot,MissingFile,NoAccess);
unsigned long request_conduit(in Client cb,
in string pilot_id,
in string conduit_name,
in ConduitOperation operation,
in Survival survival,
in unsigned long timeout)
raises(UnknownPilot,UnknownConduit,NoAccess);
unsigned long remove_request(in unsigned long handle)
raises(NoSuchHandle);
unsigned long get_system_info(in Client cb,
in string pilot_id,
in Survival survival,
in unsigned long timeout);
/* information operations */
StringSequence get_users();
StringSequence get_cradles();
StringSequence get_pilots();
LongSequence get_pilot_ids();
StringSequence get_pilots_by_user_name(in string user);
StringSequence get_pilots_by_user_login(in string uid);
string get_user_name_by_pilot_name(in string pilot_id);
string get_user_login_by_pilot_name(in string pilot_id);
string get_pilot_base_dir(in string pilot_id);
long get_pilot_id_from_name(in string pilot_id);
string get_pilot_name_from_id(in long pilot_id);
StringSequence get_databases_from_cache(in string pilot_id);
/* admin operations */
unsigned long get_user_info(in Client cb,
in string cradle,
in Survival survival,
in unsigned long timeout);
unsigned long set_user_info(in Client cb,
in PilotUser user,
in string cradle,
in boolean continue_sync,
in Survival survival,
in unsigned long timeout);
/*
unsigned long set_user_info_if_not_set(in PilotUser user,
in Client cb,
in string cradle,
in Survival survival,
in unsigned long timeout);
*/
/* Notification operations */
void monitor_on(in Client cb, in string pilot_id)
raises(UnknownPilot,NoAccess);
void monitor_off(in Client cb, in string pilot_id)
raises(UnknownPilot,NoAccess);
/* if a notify_on is done several times for the same eventtype,
callback to all callback objects */
void notify_on(in EventType event, in Client cb)
raises(NoMonitors);
void notify_off(in EventType event, in Client cb)
raises(NoMonitors);
};
};
};